package com.zmn.mcc.common.dictionary;

import com.google.common.collect.Lists;
import com.zmn.common.dictionary.DictModel;
import com.zmn.mcc.common.constant.StaffChangeLogConsts;

import java.util.ArrayList;
import java.util.List;

/**
 * @author quanjic
 * @version v1.0
 * @since 2019/10/15 19:48
 **/
public class StaffChangeLogDict {

    /**
     * 操作类型：1.添加员工 ，2.不限日期， 3.IP白名单， 4.绑定工程师， 5.同步钉钉， 6.离职， 7.编辑-公司， 8.编辑-所属部门岗位， 9.编辑-职级， 10.编辑-转正时间， 11.编辑-角色， 12.编辑-银行卡号
     *
     * @return java.util.List<com.zmn.common.dictionary.DictModel>
     * @author tanghongjun
     * @since 9:59 2020/5/19
     **/
    public static List<DictModel> getChangeTypeList() {
        ArrayList<DictModel> arrayList = Lists.newArrayListWithExpectedSize(21);
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_ADD, StaffChangeLogConsts.CHANGE_TYPE_ADD_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_NOT_LIMIT_DATE, StaffChangeLogConsts.CHANGE_TYPE_NOT_LIMIT_DATE_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_IP, StaffChangeLogConsts.CHANGE_TYPE_IP_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_ENGINEER, StaffChangeLogConsts.CHANGE_TYPE_ENGINEER_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_DING_TALK, StaffChangeLogConsts.CHANGE_TYPE_DING_TALK_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_LEAVE, StaffChangeLogConsts.CHANGE_TYPE_LEAVE_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_EDIT_COMPANY, StaffChangeLogConsts.CHANGE_TYPE_EDIT_COMPANY_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_EDIT_DEPT, StaffChangeLogConsts.CHANGE_TYPE_EDIT_DEPT_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_EDIT_POSITION, StaffChangeLogConsts.CHANGE_TYPE_EDIT_POSITION_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_EDIT_BECOME_FORMAL_TIME, StaffChangeLogConsts.CHANGE_TYPE_EDIT_BECOME_FORMAL_TIME_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_EDIT_ROLE, StaffChangeLogConsts.CHANGE_TYPE_EDIT_ROLE_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_EDIT_BANK_NO, StaffChangeLogConsts.CHANGE_TYPE_EDIT_BANK_NO_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_STAFF_STATUS, StaffChangeLogConsts.CHANGE_TYPE_STAFF_STATUS_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_ROLE_TYPE, StaffChangeLogConsts.CHANGE_TYPE_ROLE_TYPE_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_MOBILE, StaffChangeLogConsts.CHANGE_TYPE_MOBILE_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_REINSTATEMENT, StaffChangeLogConsts.CHANGE_TYPE_REINSTATEMENT_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_REST_PASS, StaffChangeLogConsts.CHANGE_TYPE_REST_PASS_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_MODIFY_PASS, StaffChangeLogConsts.CHANGE_TYPE_MODIFY_PASS_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_AUTH, StaffChangeLogConsts.CHANGE_TYPE_AUTH_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_TMP_PASS, StaffChangeLogConsts.CHANGE_TYPE_TMP_PASS_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_STATUS, StaffChangeLogConsts.CHANGE_TYPE_STATUS_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_WORK_TIME, StaffChangeLogConsts.CHANGE_TYPE_WORK_TIME_STR));
        arrayList.add(new DictModel(StaffChangeLogConsts.CHANGE_TYPE_BAISEN, StaffChangeLogConsts.CHANGE_TYPE_BAISEN_STR));
        return arrayList;
    }

    public static String getChangeTypeName(int changeType) {
        switch (changeType) {
            case StaffChangeLogConsts.CHANGE_TYPE_ADD:
                return StaffChangeLogConsts.CHANGE_TYPE_ADD_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_NOT_LIMIT_DATE:
                return StaffChangeLogConsts.CHANGE_TYPE_NOT_LIMIT_DATE_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_IP:
                return StaffChangeLogConsts.CHANGE_TYPE_IP_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_ENGINEER:
                return StaffChangeLogConsts.CHANGE_TYPE_ENGINEER_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_DING_TALK:
                return StaffChangeLogConsts.CHANGE_TYPE_DING_TALK_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_LEAVE:
                return StaffChangeLogConsts.CHANGE_TYPE_LEAVE_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_EDIT_COMPANY:
                return StaffChangeLogConsts.CHANGE_TYPE_EDIT_COMPANY_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_EDIT_DEPT:
                return StaffChangeLogConsts.CHANGE_TYPE_EDIT_DEPT_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_EDIT_POSITION:
                return StaffChangeLogConsts.CHANGE_TYPE_EDIT_POSITION_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_EDIT_BECOME_FORMAL_TIME:
                return StaffChangeLogConsts.CHANGE_TYPE_EDIT_BECOME_FORMAL_TIME_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_EDIT_ROLE:
                return StaffChangeLogConsts.CHANGE_TYPE_EDIT_ROLE_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_EDIT_BANK_NO:
                return StaffChangeLogConsts.CHANGE_TYPE_EDIT_BANK_NO_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_STAFF_STATUS:
                return StaffChangeLogConsts.CHANGE_TYPE_STAFF_STATUS_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_ROLE_TYPE:
                return StaffChangeLogConsts.CHANGE_TYPE_ROLE_TYPE_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_MOBILE:
                return StaffChangeLogConsts.CHANGE_TYPE_MOBILE_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_REINSTATEMENT:
                return StaffChangeLogConsts.CHANGE_TYPE_REINSTATEMENT_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_REST_PASS:
                return StaffChangeLogConsts.CHANGE_TYPE_REST_PASS_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_MODIFY_PASS:
                return StaffChangeLogConsts.CHANGE_TYPE_MODIFY_PASS_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_AUTH:
                return StaffChangeLogConsts.CHANGE_TYPE_AUTH_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_TMP_PASS:
                return StaffChangeLogConsts.CHANGE_TYPE_TMP_PASS_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_STATUS:
                return StaffChangeLogConsts.CHANGE_TYPE_STATUS_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_WORK_TIME:
                return StaffChangeLogConsts.CHANGE_TYPE_WORK_TIME_STR;
            case StaffChangeLogConsts.CHANGE_TYPE_BAISEN:
                return StaffChangeLogConsts.CHANGE_TYPE_BAISEN_STR;
            default:
                return "";
        }
    }


}
